python的变量是动态变量,不和c、c++、java一样是静态变量,在使用是不会规定类型,这也是python运行的性能不如前面的原因之一。

本章学习Python最基本的内置数据类型:布尔型,整型,浮点型和字符串型。

python中的数据都是以对象的形式存在的。python的变量有一个非常重要的性质:它仅仅是一个名字。名字是对对象的引用而不是对象本身。比如a = 7,7是放在盒子里的对象,a是贴在盒子上的标签。盒子相当于类,不同的类是不同的盒子。type()函数可以得到对象的类型(class)。类是对象的定义。

数字:

python中的/是浮点数除法,两个整数相除也会得到一个浮点数。//是整数除法,两个浮点数相除得到的数值是个整数,但是还是浮点类型带小数点。**表示幂。divmod()函数可以得到商和余数。

>>>7.3//2.1 %浮点数除法

3.0

>>>7/2 %整数除法

3.5

>>>3**4 %幂

81

>>>divmod(9,5)

(1,4)

0b或0B代表二进制,0o或0O表示八进制,0x或0X代表十六进制,但是输出的时候都已十进制的方式输出。

在python3中,long类型已不复存在,而int类型变为可以存储任意大小的整数,其他语言会出现整数溢出的情况,而python在处理超大数计算方面不会产生任何错误。

字符串:(python序列类型)

>>>print(99,'bottles','would be enough.')

99 bottles would be enough.

%print()函数会自动在各个输出部分之间添加空格,并在所有输出的最后添加换行符。

%print()函数会自动使用str()将非字符串对象转换为字符串。如上面的99

转义字符:\n  \t  \'(输出单引号)  \"(输出双引号)  \\(输出\)

类型转换:int(),float(),str()  //int()可以接受浮点数或由数字组成的字符串,但无法接受包含小数点或指数的字符串。float()是可以的。

对字符串的操作(⭐⭐⭐%使用+拼>>> a = 'Duck.'

>>> b = a

>>> c = 'Grey Duck!'

>>> a + b + c

'Duck.Duck.Grey Duck!'

>>> print(a, b, c)

Duck. Duck. Grey Duck!

%使用*复制

>>> start = 'Na ' * 4 + '\n'

>>> middle = 'Hey ' * 3 + '\n'

>>> end = 'Goodbye.'

>>> print(start + start + middle + end)

Na Na Na Na

Na Na Na Na

Hey Hey Hey

Goodbye.

%使用[]提取字符 这里用偏移量来了解就比较方便。如最后一个字符与第一个字符的偏移量为-1

>>> str1 = 'abcd'

>>> str1[2]

'c'

>>> str1[-2]

'c'

>>> str1[1] = 'z' %字符串是不可以这样直接改变的,可以使用replace或者切片操作

Traceback (most recent call last):

File"",line 1, in

str1[1] = 'z'

TypeError:'str' object does not support item assignment

%使用[start:end:step]分片

'''[:]提取从开头到结尾的整个字符串

[start:]从start提取到end-1

[:end]从开头提取到end-1

[start:end]从start提取到end-1

[start:end:step]从start提取到end-1,每step个字符提取一个

'''

>>> letters = 'abcdefghigklmnopqrstuvwxyz'

>>> letters[18:-4]

'stuv'

>>> letters[-6:-2]

'uvwx'

>>> letters[19: :4]

'tx'

>>> letters[5:1:-1] %指定步长为负数,python会从右到左反向进行提取操作

'fedc' %从偏移量5到偏移量2,负数时,相当于到end+1

>>> letters[1:5:-1]

''

>>> letters[5:1]

''

%使用len()获取长度

>>> len(letters)

26

>>> empty = ''

>>> len(empty)

0

%使用split()分割 可以基于分隔符将字符串分割由若干个子串组成的列表

>>> todos = 'get gloves,get mask,give cat vitamins,call ambulance'

>>> todos.split(',')

['get gloves', 'get mask', 'give cat vitamins', 'call ambulance']

>>> todos.split() %如果不指定分割符,那么split()将默认使用空白字符-换行符、空格、制表符

['get', 'gloves,get', 'mask,give', 'cat', 'vitamins,call', 'ambulance']

%使用join()合并 将包含若干子串的列表分解,并将这些子串合成一个完整的大的字符串

>>> str2 = ['aa','bb','cc']

>>> str3 = ' '.join(str2)

>>> print(str3)

aa bb cc

%字符串的一些查找操作

>>> story = 'love is everything,love is nothing.'

>>> story.startswith('love')

True

>>> story.endswith('love')

False

>>> story.find('is') %第一次出现单词is的偏移量

5

>>>story.rfind('is') %最后一次出现单词is的偏移量

24

>>> story.count('is') %单词is出现的次数

3

>>> story.isalnum() %所有的但是字母或数字嘛

False

%大小写与对齐方式

>>> setup = 'a duck goes into a bar...'

>>> setup.capitalize() %字符串首字母变成大写

'A duck goes into a bar...'

>>> setup.title() %所有单词的开头字母变成大写

'A Duck Goes Into A Bar...'

>>> setup.upper() %所有字母变成大写

'A DUCK GOES INTO A BAR...'>>> setup.lower() %所有字母变成小写

'a duck goes into a bar...'

>>> setup.swapcase() %所有字母大小写互换

'A DUCK GOES INTO A BAR...'

>>> setup.strip('.') %去掉开头和结尾的'.'

'a duck goes into a bar'

%rstrip() 去掉末尾的空格,lstrip()去掉开头的空格,strip()去掉开头和结尾的空格

>>> setup.center(30) %在30个字符位居中

' a duck goes into a bar... '

>>> setup.ljust(30) %在30个字符中左对齐

'a duck goes into a bar... '

>>> setup.rjust(30) %在30个字符中右对齐

' a duck goes into a bar...'>>> setup.replace('duck', 'marmoset') %最后一个参数省略默认只替换第一次出现的位置

'a marmoset goes into a bar...'

>>> setup.replace('a ', 'a famous ', 100) %最后修改一百次 注意要是'a '而不是'a'不然bar中的a也会被替换掉

'a famous duck goes into a famous bar...'

Logo

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。

更多推荐