Python是一个动态类型的语言,可以为变量赋任意类型的值,也可以任意修改变量的值
命名规范:
在Python中注意遵循两种命名规范:
下划线命名法
所有字母小写,单词之间使用_分割
max_length min_length hello_world xxx_yyy_zzz
帕斯卡命名法(大驼峰命名法)
首字母大写,每个单词开头字母大写,其余字母小写
MaxLength MinLength HelloWorld XxxYyyZzz
如果使用不符合标准的标识符,将会报错 SyntaxError: invalid syntax
在Python数值分成了三种:整数、浮点数(小数)、复数
在Python中所有的整数都是int类型
Python中的整数的大小没有限制,可以是一个无限大的整数
>>> a=10
>>> b=123456789123456789123456789123456789123456789123456789123456789123456789
>>>
>>> print(a)
10
>>> print(b)
123456789123456789123456789123456789123456789123456789123456789123456789
10进制的数字不能以0开头,其他进制的整数,只要是数字打印时一定是以十进制的形式显示, 二进制 0b开头,八进制 0o开头,十六进制 0x开头
>>> 0b10
2
>>> 0o10
8
>>> 0x10
16
浮点数(小数),在Python中所有的小数都是float类型,对浮点数进行运算时,可能会得到一个不精确的结果
>>> print(0.1 + 0.2)
0.30000000000000004
字符串
字符串用来表示一段文本信息,字符串是程序中使用的最多的数据类型,在Python中字符串需要使用引号引起来,引号可以是"",也可以是'',也可以是""" 或 ''',但是注意不要混着用,引号不能混合使用 SyntaxError: EOL while scanning string literal.相同的引号之间不能嵌套
s = '子曰:"学而时习之,乐呵乐呵!"'
>>> print(s)
子曰:"学而时习之,乐呵乐呵!"
>>> s = '锄禾日当午,\
... 汗滴禾下土,\
... 谁知盘中餐,\
... 粒粒皆辛苦'
>>> print(s)
锄禾日当午,汗滴禾下土,谁知盘中餐,粒粒皆辛苦
>>> s = '''锄禾日当午,
... 汗滴禾下土,
... 谁知盘中餐,
... 粒粒皆辛苦'''
>>> print(s)
锄禾日当午,
汗滴禾下土,
谁知盘中餐,
粒粒皆辛苦
注意:使用三重引号来表示一个长字符串 ''' """,三重引号可以换行,并且会保留字符串中的格式
转义字符
可以使用 \ 作为转义字符,通过转义字符,可以在字符串中使用一些特殊的内容
例子:
# \' 表示'
# \" 表示"
# \t 表示制表符
# \n 表示换行符
# \\ 表示反斜杠
# \uxxxx 表示Unicode编码
>>> s = "子曰:\"学而时习之,\\\\n乐呵乐呵!\""
>>> print(s)
子曰:"学而时习之,\\n乐呵乐呵!"
>>> s = '\u2250'
>>> print(s)
≐
字符串之间也可以进行加法运算,如果将两个字符串进行相加,则会自动将两个字符串拼接为一个
>>> a = 'abc' + 'haha' + '哈哈'
>>> print(a)
abchaha哈哈
字符串只能不能和其他的类型进行加法运算,如果做了会出现异常 TypeError: must be str, not int
>>> a='abc'+123
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: must be str, not int
在创建字符串时,可以在字符串中指定占位符
# %s 在字符串中表示任意字符
# %f 浮点数占位符
# %d 整数占位符
>>> b='abcdefg%s'%'哈哈' #'字符串%s[需要替换的内容]'%'替换的内容'
>>> print(b)
abcdefg哈哈
>>> b='hello %s,my name is %s'%('tom','张三') #如果字符串有多个需要替换'%s...%s'%('...','...')按照顺序替换
>>> print(b)
hello tom,my name is 张三
>>> b='hello 3.5s'%'abcdefg'#如果s前面的%不写,会出现SyntaxError: invalid syntax错误
File "<stdin>", line 1
b='hello 3.5s'abcdefg'
^
SyntaxError: invalid syntax
>>> b='hello %3.5s'%'abcdefg' #%3.5s字符串的长度限制在3-5之间
>>> print(b)
hello abcde
>>> b='%.2f'%'123.4567889' #除了%s占位符需要将后面的内容用'',其他不需要,否则不会出现异常
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: must be real number, not str
>>> b='%.2f'%123.4567889 #保留小数点后2位有效数字,格式'%.2f'%浮点数字,
>>> print(b)
123.46
>>> b='%d'%123.4567889 #保留整数,格式'%d'%浮点数字,
>>> print(b)
123
>>> b='%.0f'%123.4567889#保留整数,格式'%0.0f'%浮点数字,
>>> print(b)
123
格式化字符串,可以通过在字符串前添加一个f来创建一个格式化字符串,在格式化字符串中可以直接嵌入变量
>>> print(a)
abchaha哈哈
>>> print(b)
123
>>> c=f'hello {a} {b}'
>>> print(f'{a}={b}')
abchaha哈哈=123
* 在语言中表示乘法,如果将字符串和数字相乘,则解释器会将字符串重复指定的次数并返回
>>> print(str)
欢迎张三光临
>>> print(str*10)
欢迎张三光临欢迎张三光临欢迎张三光临欢迎张三光临欢迎张三光临欢迎张三光临欢迎张三光临欢迎张三光临欢迎张三光临欢迎张三光临
>>>
练习创建一个变量保存名字,通过四种格式化字符串的方式
在命令行中显示,欢迎 xxx 光临!
name='李四'
>>> print('欢迎'+name+'光临')
欢迎李四光临
>>>
>>> print('欢迎',name,'光临')
欢迎 李四 光临
>>>
>>> print('欢迎%s光临'%name)
欢迎李四光临
>>>
>>> print(f'欢迎{name}光临')
欢迎李四光临
布尔值(bool)
布尔值主要用来做逻辑判断,布尔值一共有两个 True 和 False,True表示真 False表示假,布尔值实际上也属于整型,True就相当于1,False就相当于0
>>> a=True
>>> b=False
>>> print(a+b)
1
>>> print(b)
False
None(空值)
None专门用来表示不存在
>>> b=None
>>> print(b)
None