Python 十六进制转Base64_python基础day03笔记
嗨,大家上午好,今天又是分享筆記的一天,希望大家多多關注,謝謝。
希望大家喜歡,多關注,謝謝!
字符串str
作用:
用來記錄文本(文字)信息
字符串的表示方式:
在非注釋中,凡是用引號括起來的部分都是字符串
' 單引號
" 雙引號
''' 三單引號
""" 三雙引號
空字符串的字面值表示方法
''
""
''''''
""""""
非空字符串的表示方法:
'hello'
"world"
'''hello'''
"""world"""
單引和雙引號的區別:
單引號內的雙引號不算結束符
雙引號內的單引號不算結束符
示例:
print("I'm a teacher!") # I'm a teacher
print('I am "weimingze"') # I am "weimingze"
三引號字符串的作用:
三引號字符串中的換行會自動轉換為換行符
三引號內可以包含單引號和雙引號
示例:
s = 'welcome to beijing!I like python!I am Studing!'
print(s)
s2 = '''welcome to beijing!
I like python!
I am Studing!'''
print(s2)
隱式字符串字面值拼接
s = "I'm a teacher!" 'My name is "weimingze"'
思考:
如果一個字符串同時包含如下字符該怎么辦?
' " ''' """
用轉義序列代表特殊字符
字符串字面值中,用字符反斜杠()后跟一些字符代表特殊的一個字符
反斜杠轉義字符表:
' 單引號(')
" 雙引號(")
一個反斜杠
換行
返回光標至行首
水平制表符
v 垂直制表符
f 換頁
b 倒退
0 空字符,字符值為零
xXX XX為兩位十六進制表示的字符
甥塘塘 XXXX為四個十六進制表示的Unicode16字符
甥塘塘XXXX 8個十六進制表示的Unicode32字符
ASCII 編碼:
ASCII字符表:
$ man ascii
常用的ASCII字符編碼:
字符 十進制 十六進制
'0' 48 0x30
'A' 65 0x41
'a' 97 0x61
Unicode
統一編碼,分為Unicode16 和Unicode32
序列的概念
字符串就是序列
求序列的長度的函數len
len(x) 返回字符串的字符個數
練習:
? 試求出以下字符串含有多少個字符?? '1234abcd' ?# 8? '5'4"' ? ? # 4? '"Ax34 6041' ?# 4? 'bd'? 'nx41'raw 字符串(原始字符串)
格式:
r'字符串內容'
r"字符串內容"
r'''字符串內容'''
r"""字符串內容"""
作用:
讓轉義符號 無效
示例:
s = 'C:ewfileest.py'
print(s)
print(len(s))
s = r'C:ewfileest.py'
print(s)
print(len(s))
字符串的運算
+ 加號運算符用于拼接字符串
* 運算符用于生成重復的字符串:
示例:
s = "ABC" + "DEF" # s = 'ABCDEF'
s2 = '123' * 3 # s2 = '123123123'
s3 = 2 * 'ABC' # s3 = 'ABCABC'
注: 字符串只能和整數相乘
+= *= 運算符,與其它賦合賦值運算符規則相同
練習:
寫一個程序,打印一個高度為4行的矩形方框
要求輸入一個整形數字,此整數代表矩形的寬度,輸出此矩形
如:
請輸入矩形寬度: 10
##########
# #
# #
##########
請輸入矩形寬度: 5
#####
# #
# #
#####
w = int(input('請輸入矩形寬度: '))print('#' * w)# 打印第二行s = '#' + ' ' * (w - 2) + '#'print(s)print(s)print('#' * w)in / not in 運算符:
作用:
用于判斷某個字符串是否在 相當前字符中出現過。如果出現過返回True,否則返回False
語法:
對象 in 字符串
示例:
s = 'welcome to tarena!''to' in s # True'weimingze' in s # False'e t' in s # True字符串的比較運算
運算符:
> >= < <= == !=
規則:
依次按編碼值進行比較,直到最短的字符串結束為止
示例:
? ? 'A' ?< 'B' ? ? ?# True? ? 'ABC' ?> 'ABB' ?# True? ? 'ABC' ?> 'ACB' ?# False? ? 'AB' ?< 'ABC' ? # True? ? 'ABC' ?> '123' ?# True? ? 'ABC' == 'abc' ?# False? ? 'ABCD' != 'DCBA' # True字符串的索引操作
python的字符串是不可以改變的字符序列
索引 index
語法:
字符串[整數表達式]
說明:
python 序列都可以用索引來訪問序列中的對象
python 序列的正向索引是多0開始的,第二個索引為1, 最后一個索引為len(s)-1
python 序列的反向索引是從-1開始的,-1代表最后一個,-2代表倒數第2個,以此類推,第一個是-len(s)
示例:
? ? s = 'ABCDE'? ? print(s[0]) ?# A? ? print(s[1]) ?# B? ? print(s[4]) ?# E? ? print(s[-1]) # E? ? print(s[-5]) # A練習:
輸入一個字符串,打印如下內容:
1. 打印這個字符串的第一個字符
2. 打印這個字符串的最后一個字符
3. 如果這個字符串的長度是奇數,打印中間這個字符
注:
求字符串的長度的函數len(s)
s = input("請輸入: ")# 1. 打印這個字符串的第一個字符print("第一個字符是:", s[0])# 2. 打印這個字符串的最后一個字符print("最后一個字符是:", s[-1])# 3. 如果這個字符串的長度是奇數,打印中間這個字符if len(s) % 2 == 1:print("長度是奇數")center = len(s) // 2 # 計算中間字符的索引print('中間的字符是:', s[center])切片 slice
作用:
從一個字符串序列中取出相應的元素重新組成一個字符串序列
語法:
字符串序列[(開始索引b):(結束索引e)(:(步長s))]
注:
小括號()括起的部分代表可省略
說明:
開始索引是切片開始切下的位置,0代表第一個元素,1代表第二個元素,-1代表最后一個
結束索引是切片的終止索引(但不包含終止點)
步長是切片每次獲取完當前元素后移動的方向和偏移量
沒有步長,相當于取值完成后向右移動一個索引的位置(默認為1)
當步長為正數時,取正向切片:
步長默認為1,開始索引默認為0,結束索引默認為len(s)
步長代表一下次索引的取值的增長值
當步長為負整數時,取反向切片
默認的起始位置是最后一個元素,終止位置是第一個元素的前一個位置
示例:
? ? s = "ABCDE"? ? a = s[1:4] ?# a = 'BCD'? ? a = s[3:5] ?# a = 'DE'? ? a = s[3:] ? # a = 'DE'? ? a = s[:3] ? # a = 'ABC'? ? a = s[0:3] ?# a = 'ABC'? ? a = s[1:1] ?# a = ''? ? a = s[4:2] ?# a = ''? ? a = s[0:5:2] ?# a = 'ACE'? ? a = s[1::2] ? # a = 'BD'?? ? a = s[::2] ? ?# a = 'ACE'? ? a = s[::-1] ? # a = 'EDCBA'? ? a = s[::-2] ? # a = 'EDCBA'? ? a = s[4:0:-2] # a = 'EC'練習:
1. 寫一個程序,輸入一個字符串,把字符串的第一個字符和最后一個字符去掉后,打印出處理后的字符串
s = input("請輸入字符串: ")c = s[1:-1] # c = s[1:len(s)-1]print("結果是:", c)2. 輸入任意一個字符串,判斷這個字符串是否是回文
? ? 回文示例:? ? ? 上海自來水來自海上? ? ? ABCCBA? ? ? 12321(回文是指中心對稱的文字)
# 2. 輸入任意一個字符串,判斷這個字符串是否是回文
# 回文示例:# 上海自來水來自海上# ABCCBA# 12321# (回文是指中心對稱的文字)s = input("請輸入文字: ")# 反轉字符串sr = s[::-1]if s == r: print(s, "是回文")else: print(s, "不是回文")文檔地址:
http://code.tarena.com.cn/AIDCode/aid1806/Pbase/python_base_docs_html.tar.gz
$ tar -xzvf python_base_docs_html.tar.gz
python3中常用于序列的函數:
len(x) 返回序列的長度
max(x) 返回序列的最大值元素
min(x) 返回序列的最小值元素
字符串編碼轉換函數:
ord(c) 返回一個字符的Unicode值
chr(i) 返回i這個整數值所對應的字符
示例:
? s = "hello"? len(s) ?# 5? max(s) ?# 'o'? min(s) ?# 'e'練習:
1. 寫一個程序,輸入一段字符串,如果字符串不為空,把第一個字符的編碼值打印出來
2. 寫一個程序,輸入一個整數值(0~65535), 打印出這個數值所對應的字符
# 練習:# 1. 寫一個程序,輸入一段字符串,如果字符串不為空# ,把第一個字符的編碼值打印出來s = input("請輸入: ")if len(s) != 0:print('第一個字符的編碼是:', ord(s[0]))# 2. 寫一個程序,輸入一個整數值(0~65535), 打印出# 這個數值所對應的字符s = input("請輸入一個整數")i = int(s) # 將用s生成一個整數用變量i綁定c = chr(i)print("這個整數對應的字符是:", c)整數轉字符串函數:
bin(i) 將整數轉換為二進制字符串
oct(i) 將整數轉換為八進制字符串
hex(i) 將整數轉換為十六進制字符串
字符串構造函數:
str(obj='') 將對象轉換為字符串
示意:
'123' + 456 # 出錯,不合法
str(True) # 'True'
str(None) # 'None'
str(3.14) # '3.14'
常用的字符串方法:
字符串的方法調用語法(method):
對象.方法名(方法傳參)
文檔參見:點擊
1. 輸入一個字符串用變量s綁定
1) 判斷您輸入的字符串有幾個空格
2) 將原字符串的左右空白字符去掉, 打印出剩余的字符個數
3)判斷您輸入的是否是數字
4) 如果是數字,判斷這個數字是否大于100
# 1. 輸入一個字符串用變量s綁定s = input("請輸入一個字符串: ")# 1) 判斷您輸入的字符串有幾個空格print("空格的個數是:", s.count(' '))# 2) 將原字符串的左右空白字符去掉, 打印出剩余的字符個數s2 = s.strip() # 云掉空白字符print("去掉空白字符后的個數是: ", len(s2))# 3)判斷您輸入的是否是數字# 4) 如果是數字,判斷這個數字是否大于100if s2.isdigit():print(s2, "是數字:")if int(s2) > 100:print(s2 , '大于 100')else:print(s2, '不是數字') 2. 輸入三行文字,讓這三行文字在一個方框內居中顯示 如輸入: hello! I'm studing python! I like python 顯示如下 +---------------------+ | hello! | | I'm studing python! | | I like python | +---------------------+ 注:請不要輸入中文a = input("請輸入第一行文字: ")b = input("請輸入第二行文字: ")c = input("請輸入第三行文字: ")max_length = max(len(a), len(b), len(c))first_line = '+' + '-' * (max_length + 2) + '+'print(first_line)# 打印中間文字print('| ' + a.center(max_length) + ' |')print('| ' + b.center(max_length) + ' |')print('| ' + c.center(max_length) + ' |')print(first_line)以上就是今天所分享的筆記啦,希望大家提出自己寶貴的意見,大家一起互相進步,謝謝大家。
總結
以上是生活随笔為你收集整理的Python 十六进制转Base64_python基础day03笔记的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: seaborn 画堆叠柱状图_Seabo
- 下一篇: csrf攻击原理与解决方法_信息安全之C