python 基础语法
数据类型
整型
# 表示10
print(0b1010) # 二进制
print(0o12) # 八进制
print(0xA) # 十六进制
浮点型
num_a = 2e3 # 2000
num_b = 2e-2 # 0.02
复数
num_one = 3 + 2j
num_two = complex(3, 2)
布尔类型
False None,0,0.0,0 j,“”,(),[],{}
True 其他
类型转换
自动转换
num_a = 10
num_b = 10.5
result= num_a+num_b
print(result)
print(type(result))
20.5
<class ‘float’>
强制转换
int("99")
int(True)
int(28.2)
float(98)
float('1.0e4')
age = 12
print("年龄为:" + str(age)) # 转为字符串才能识别
input函数
a = float(input("请输入第一个数:"))
b = float(input("请输入第二个数:"))
print(a+b)
字符串
# 引号的使用,单引号双引号等价,可以嵌套使用,但双引号中不得包含双引号
print('I told he, "I love python"') # I told he, "I love python"
# 多行字符串
three_symbol = """my name is python
I like python"""
# 三个单引号里面可以输入任何符号
制作文档字符串
# 用三引号制作doc文档
class Hello:
'''hello class''' # 类属性
def print_Hello():
'''print hello world''' # 方法属性
print("hello world")
print(Hello.__doc__) # python的每个对象都有一个属性__doc__,用于描述该对象的作用
print(Hello.print_Hello.__doc__)
占位符
%s,%d
format
# 保留N位小数
pi = 3.1415926
pi_two = '{:.2f}'.format(pi) # {:.nf}
print(pi_two) # 3.14
# 数字补齐
num = 1
num_3 = '{:0>3d}'.format(num) # {:m>nd}
print(num_3) # 001
# 显示百分比
num = 0.1
num_0 = '{:.0%}'.format(num) # {:.n%}
print(num_0) # 10%
f-strings
# f-strings
name = '张三'
age = 20
print(f'我的名字是{name},我今年{age}岁了')
字符串操作
# 拼接
hi = 'hello ' + 'python! '
hi2 = "hi ""python! "
print(hi + "\n" + hi2) # hello python \n hi python
print(hi, hi2)
# 替换
word = '我是张三,我喜欢python'
print(word.replace('我', '他', 1)) # 他是张三,我喜欢python
# 复制
start = '我' * 3
end_ = '喜欢python'
print(start + end_) # 我我我喜欢python
# []提取字符
letters = 'abc,def,g,h'
print(letters[0]) # a
print(letters[-1]) # h
# len()长度
print(len(letters)) # 11
# 分割
print(letters.split()) # ['abc,def,g,h']
print(letters.split(",")) # ['abc', 'def', 'g', 'h']
print(letters.split(",", 2)) # ['abc', 'def', 'g,h']
# 去除
letters = '**abc,def,g,h **'
print(letters.strip("*""")) # abc,def,g,h
# 合并
word = 'xyz''abc'
join_result = ','.join(word)
print(join_result) # x,y,z,a,b,c
# 大小写
sentence = 'i like Python'
print(sentence.capitalize()) # I like python
print(sentence.title()) # I Like Python
print(sentence.upper()) # I LIKE PYTHON
print(sentence.lower()) # i like python
print(sentence.swapcase()) # I LIKE pYTHON
# 对齐
sentence_1 = 'i like Python'
print(sentence_1.center(30)) # 30个字符的空间里居中
print(sentence_1.ljust(30)) # 30个字符的空间里左对齐
print(sentence_1.rjust(30)) # 30个字符的空间里右对齐
# 使用replace()替换
word_1 = 'hello'
word_2 = word_1.replace('l', 'm') # 全都替换
word_3 = word_1.replace('l', 'm', 1) # 替换第一个
print('n' + word_1[1:]) # nello
print(word_2) # hemmo
print(word_3) # hemlo
# 制表符和换行符
print("\tpython")
print("java\npython")
字符串索引与切片
索引(超出范围报错)
word_1 = 'python'
print(word_1[0])
print(word_1[-1])
切片(超出范围容忍)
# 切片[开始:结束:步长]左闭右开
letters = 'abcdefg'
print(letters[:]) # abcdefg开始到最后
print(letters[2:5]) # cde
print(letters[-3:]) # efg
print(letters[2:-2]) # cde
print(letters[1:5:2]) # bd
# 步长为负,从右向左提取
print(letters[::-1])
运算符(算术>关系>逻辑)
算术运算符
# //相除取整
# %相除取余
# **幂运算
# 混合运算相对简单的操作数会被强制临时转化为复杂的数
a = 2.5
b = 2
print(a + b) # 4.5
print(b) # 2
比较/关系运算符
result = 'python' <= 'Python'
print(result) # False(小写大于大写)
赋值运算符
a = 6
b = 2
a += b
print(a) # 8
a /= b
print(a) # 4.0
a **= b
print(a) # 16.0
逻辑运算符号
# and or not
age = 20
result = not age == 18
print(result) # True
注意:先比较,后and or not
result = 1 < 2 or 1 > 3
print(result) # True
位运算符
num_1 = 10 # 二进制1010
num_2 = 11 # 二进制1011
print(num_1 << 3) # 80 10*2的三次方 1010000=64+16=80
print(num_1 >> 2) # 2 10/2的二次方
print(num_1 & 2) # 2 对应都为1,则为1,1010&10=0010
print(num_1 | 2) # 10 对应有1个1,则为1,1010|10=1010
print(num_1 ^ num_2) # 1 对应不同,则为1,1010^1011=0001
print(~num_1) # -11(按位取反,包含符号位,符号位默认为0(正数))