python变量,基础运算,字符串

1.1变量

Python是强类型的(Strongly typed),也就是说在执行 '1' + 2,会出现TypeError,并不会3或是'12'的结果,所以进行不同型別之间的处理可以使用 int('1') + 2 = 3或是 '1' + str(2) = '12'来做处理。

在Python中变量是不用声明的,并还有一个特性,变量在内内存中仅仅像一个标签,对某个内存位置做贴标签的功能,在变量改变内容时,内存的值不会改变,而是变量标签贴到其他内存位置上。因此Python不用声明变量类型,所以可以改变变量的类型,所以可以使用type(变量)作为检测变量现在的类型。

变量的命名只能大小写英文字母、数字和下划线(_),且不能以数字开头,保留关键字如下,不能作为变量名使用。

1.2运算

/ 浮点数除法 3/2=1.5

// 整数除法(商)3//2=1

% 取余 3%2=1

** 次方 2**3=8

对于正整数的操作,要注意的是 0不可以放置在数字前端,如 a = 05 会出现SyntaxError。

数字类型转换可以用int(),里面不允许有非数字出现,浮点数会无条件舍去,其中python允许使用int(98.7) = 98,但int('98.7')则会出现错误,这点要多加小心。

最为重要的一点为Python3之后没有溢位问题,意思是存储整数大小无上限,取决于自身内存的限制。

转换成浮点数可以使用float()

1.3字符串

python3支持unicode,

字串连接接可以使用 + 号或是直接把两字串摆在前后即可。( print('a'+'b') print('a''b') 都可以得到 'ab'的结果 )
使用 * 可以快速建立重复字串。print('a'*5) #'aaaaa'

[ : ] 提取全部
[start : ] 提取 start 至結束
[ : end] 提取开头到 end - 1
[start : end] 提取 start 至 end - 1
[start : end : step] 提取 start 至 end - 1,间隔为step (step为负的时候则从右边开始,start与end需反过来摆放)
a = 'abcde'
print(a[::-1]) #'edcba' 可以变成反序排列
print(a[-2:0:-1]) #'dcb'

其中变量內的字符串是不能替换內容, 若要替换內容,则可以使用重组或是 string.replace()
name = 'Henny'
#name[0] = 'P' #错误!!!!!!
a = name.replace('H', 'P') #'Penny'
print(a)
print('P' + name[1:]) #'Penny'

len() 可以获取字符串长度

string.split()可以分割字串成list,()内可以指定符号,默认会切割\n,\t(tab),空格三种,string.join()可以连接字符串,()内可以指定符号连接。

a='thank,you,very,much '

print(a.split(',')) #['thank', ' you', ' very', ' much']

string.startswith() 与 string.endswith() 分別可以检查开头結束字串是否为特定字串,返回True或False

a='abcde'   a.startswith('abc')  #True

string.find()和string.rfind()可以查询第一次和最后一次出现搜索字串的index,string.count()可以查询字串出现的字数。

a='abcdebcd'

a.find('bc')  #1

a.rfind('bc') #5

a.count('bc')#2

string.isalnum()可以查询字符串中是否都是字母或数字,返回True或False

setup = 'a duck goes into a bar...'
print(setup.strip('.'))                      #刪除結尾特定符号 'a duck goes into a bar'
print(setup.capitalize())                    #字串第一個字符大写 'A duck goes into a bar...'
print(setup.title())                         #每个单词的首字母大写'A Duck Goes Into A Bar...'
print(setup.upper())                         #全部大写 'A DUCK GOES INTO A BAR...'
print(setup.lower())                         #全部小写'a duck goes into a bar...'
print(setup.swapcase())                      #大小写交换 'a DUCK GOES INTO A BAR...'
print(setup.center(30))                      #将字符串中心移动至30个字符的中间 '  a duck goes into a bar...   '
print(setup.ljust(30))                       #左对齐 'a duck goes into a bar...     '
print(setup.rjust(30))                       #右对齐 '     a duck goes into a bar...'
print(setup.replace('duck', 'marmoset'))     #'a marmoset goes into a bar...'
print(setup.replace('a ', 'a famous ', 100)) #只替换前100个'a '

猜你喜欢

转载自blog.csdn.net/leon_lavie/article/details/82465756