一、基本使用
输入和输出
- 使用print()
- 使用input()
注释:
-
单行注释,以 # 开头
-
多行注释,使用三对单引号或三对双引号
编码规范:
- 不要在行尾加分号
- 大小写敏感
- 适应添加空格、空行,使代码布局更优雅、美观、合理
- 使用缩进来表示代码块
二、变量和数据类型
变量:
- 定义变量时不需要指定变量的类型,直接为变量赋值即可
- 变量名要符合命名规范
数据类型:整型、浮点型、字符串、布尔、空值等
#!/usr/bin/env python3
# * coding: utf8 *
__author__ = '初夏'
'''数据类型:整型、浮点型、字符串、布尔、空值等 '''
# 整型int
a = 3454566666666666666
print(a)
print(type(a))
# 浮点型float
b = 12.5
print(b, type(b))
# 字符串str,定义字符串可以使用单引号或双引号(推荐用单引号)
c = 'ccc'
d = "ddd"
print(c, type(c))
print('张三说:"今晚吃鸡吗?"')
# 字符串有多行时可以使用三对单引号,表示多行内容
e = ''' welcome to chuxia0811 '''
print(e)
print(type(e))
# 布尔bool,取值:True、False
f = True
print(f, type(f))
g = 5 < 3
print(g)
print(5 + False) # True表示1,False表示0
# 空值 NoneType
h = None
print(h, type(h))
三、字符串
类型转换
# 将字符串转换数值
a = '25'
b = int(a)
print(type(a), type(b))
c = '12.5'
d = float(c)
print(type(c), type(d))
# 将数值转换为字符串
print('hello ' + str(25)) # 数值类型不能直接和字符中进行拼接,需要进行类型转换
字符串常用方法
string = ' hello world '
print(string.islower())
print(string.isupper())
print(string.capitalize())
print(string.index('llo'))
print(string)
print(string.strip()) # 类似于java中的trim
print(len(string)) # 调用len()函数获取长度
切片(很重要)
name = 'tom cruise'
print(name[0])
print(name[4], name[len(name) - 1], name[-1])
print(name[1:5]) # 获取索引为[1,5)的字符
print(name[:5]) # 表示从头获取
print(name[2:]) # 表示获取到末尾
print(name[1:8:2]) # 索引为[1,8)的字符,每两个取一个
print(name[::2]) # 所有字符,每两个取一个
格式化
# 格式化字符串,在字符串中指定占位符
# 方式1:使用%运算符,%s表示任意字符,%d表示整数,%f表示浮点数
name = 'tomaaaa'
age = 20
height = 180.5
print('大家好,我叫' + name + ',年龄:' + str(age) + ',身高:' + str(height))
print('大家好,我叫%2.4s,年龄:%d,身高:%.2f' % (name, age, height))# 2.4s表示字符串长度 为24位,.2f表示保留两位小数
print('当前时间:%d年%02d月%d日' % (2018, 5, 14))# 指定月份为两位,不足两位则补0
# 方式2:使用format()方法,使用{}表示占位符
print('大家好,我叫{0},年龄:{1},身高:{2:.2f}'.format(name, age, height))
print('大家好,我叫{name},年龄:{age},身高:{height}'.format(age=age, name=name, height=height))
# 方式3:在字符串前面添加一个f,使用{变量名}来嵌入变量
print(f'大家好,我叫{name},年龄:{age},身高:{height}')
四、运算符
算术运算符、比较运算符、赋值运算符、逻辑运算符、位运算符、条件运算符、成员运算符、身份运算符
#!/usr/bin/env python3
# * coding: utf8 *
__author__ = '初夏'
'''
Python中支持的运算符:
1.算术运算符
+ * / % // ** 不支持自增++和自减
2.比较运算符
> < >= <= == !=或<>
3.赋值运算符
= += = *= /+ %= **=
4.逻辑运算符
and or not
5.条件运算符,也称三目运算符
语法:条件为真时的结果 if 条件 else 条件为假时的结果
6.位运算符
与& 或| 非~ 异或^ 左移<< 右移>>
7.成员运算符
innot in
8.身份运算符
isis not '''
# 1.算术运算符
print(3 + 5)
print(3 * 5)
print(30 * '')# 乘法可以用于字符串
print(5 % 3)
print(5 // 3) # 除法,取整
print(2 ** 3) # 幂
print(pow(2, 3))
i = 5
i = i + 1
print(i)
# 2.比较运算符
j = 5
print(j > 2)
print(10 > j > 1) # 支持此写法
print('abc' > 'acd') # 可以用于字符串的比较,比较的是字符串的Unicode编码
# 3.赋值运算符
a = 10
a += 5 # 等价于a= a+5
print(a)
# 4.逻辑运算符
print(True and False)
print(5 > 2 or 4 < 1)
print(not 5 > 2)
x = 0 # 0 表示False,非0表示True
y = 8
print(x and y) # 如果x为True,则返回y;否则返回x
print(x or y) # 如果x为True,则返回x;否则返回y
print(not x) # 如果x为True,则返回False,否则返回True
#5.条件运算符,也称三目运算符
print('aaa' if 5 < 2 else 'bbb')
# 6.位运算符
a = 5 # 00000101
b = 8 # 00001000
print(a & b) # 两位都是1才为1,否则为0
print(a | b) # 只要有一位为1,则为1,否则为0
print(~a) # 如果为1,则为0,如果为0,则为1
print(a ^ b) # 如果两位相同,则为0,不同为1
print(b >> 2) # 二进制的所有位都向右移2位
# 7.成员运算符
c = [3, 5, 12, 15, 7, 2]
d = 5
print(d not in c)
# 8.身份运算符
m = [1, 3, 5, 7]
n = [1, 3, 5, 7]
x = n
print(m is n)
print(x is n)
'''
is 和 == 的区别
is 判断两个变量是否引用同一个对象
== 判断两个变量的值是否相等
'''
print(m == n)
五、列表和元组
列表list是一种有序的集合,用来存储多个值,可以向列表中添加或删除元素
元组tuple与list很类似,也是用来存储多个值,但tuple中的元素只能在定义时初始化,初始化后就无法再修改
总结:列表list和元组tuple都是Python内置的一种集合,一个可变的,一个是不可变的
# 列表list
# 定义列表,使用[]
names = ['tom', 'jack', 'alice', 'mike']
print(names)
print(type(names))
# 获取/设置元素
print(names[1], names[:3])
names[0] = 'lucy'
print(names)
# 追加元素
names.append('zhangsan')
# 在指定位置插入元素
names.insert(1, 'lisi')
# 删除元素
names.remove('jack')
# 弹出元素
print(names.pop(0))
# 获取元素个数
print(len(names))
# 可以存储不同类型的数据
names.append(25) # 不建议
names.append(True)
print(names)
# 元组tuple
# 定义元组,使用()
nums = (3, 8, 13, 25, 38, 250)
print(nums)
print(type(nums))
int(nums[2], nums[-1])
print(nums[1:3])
# 解构赋值
# a = nums[0]
# b = nums[1]
# c = nums[2]
# d = nums[3]
# e = nums[4]
# f = nums[5]
a, b, c, d, e, f = nums
print(a, b, c, d, e, f)
六、条件判断
根据条件进行判断,从而执行不同的操作
使用 if…elif…else 语句
七、循环
重复性的执行某个操作,称为循环
两种循环:
while循环
for…in循环
# for...in循环
ames = ['tom', 'jack', 'alice', 'mike']
for name in names:
print(name, end=',')
print()
# 使用range()函数生成一个序列
for i in range(1, 100, 2): # 生成一个[1,100)的整数序列,步长为2
print(i, end=',')
print()
# 计算1到100的和
sum = 0
for i in range(1, 101):
sum += i
print(sum)
break和continue关键字
八、字典和集合
dict全称dictionary,使用键值(keyvalue)存储数据,在其他语言中一般称为map
set是无序的,不允许重复
# 字典
# 定义dict,使用大括号{},与js中的json很类似
scores = {'tom': 98, 'jack': 100, 'alice': 60}
print(scores)
print(type(scores))
# 获取
print(scores['jack'])
print(scores.get('alice'))
# 添加/设置
scores['lucy'] = 89
scores['tom'] = 100
# 弹出(删除)
print(scores.pop('tom'))
# 判断是否存在指定的key
print('alice' in scores)
print(scores)
# 遍历
print(scores.keys())
print(scores.values())
print(scores.items())
for k in scores.keys():
print(k, scores[k])
print('' * 80)
for v in scores.values():
print(v)
print('' * 80)
for k, v in scores.items():
print(k, v)
print('' * 80)
# set集合
# 定义set,使用大括号{}
# s = {3, 12, 5, 7, 34, 12, 3}
nums = [4, 23, 1, 23, 4, 23]
s = set(nums) # 调用set()函数将list转换为set,去除重复值
print(s)
print(type(s))
# 添加
s.add(666)
s.add(1)
# 删除
s.remove(1)
print(s)
# 遍历
for i in s:
print(i)