一.print
用于打印
print("a","b","c")
print("a", "b", "c", sep="")
print("a", "b", "c", sep="#")
print("abc")
print("def", end="")
print("g")
wf = open("t.txt", "w")
print("123", file=wf)
wf.close()
print([obj1],[obj2]...[,sep=""][,"end=""][,file=sys.stdout])
- obj表示内容
- sep用于替换obj与obj的逗号(逗号默认输出为空格)
- end结尾替换(print默认结尾会换行),file为打开文件对象(打开文件代码为’‘‘变量名 = open(“路径”,“w”)’’')
二.定义变量及其类型的识别
python中定义变量格式: 变量名 = 值 (python为动态语言,会自动识别变量名)
函数:type()可以识别变量类型,观察参考代码的输出结果
a = 1
print(type(a))
a = 1.1
print(type(a))
a = True
print(type(a))
a = "abc"
print(type(a))
a = [1, 2, 3]
print(type(a))
a = {1: 123, 2: 142}
print(type(a))
a = 12 + 0.2j
print(type(a))
a = set("uuusss")
print(type(a))
三.if语句,input函数的学习
if 条件判断:
执行代码
if 条件判断:
执行代码A
else:
执行代码B
if 条件A判断:
执行代码A
elif 条件B判断:
执行代码B
...
else:
执行代码B
比较符
符号 | 作用 |
---|
< | 小于 | > | 大于 | => | 大于等于 | <= | 小于等于 | == | 等于 | != | 不等于 | not | 取反 | and | 和 | or | 或 |
参考代码中有输入代码input,用于用户输入内容,不管用户输入什么都为字符串,例如用户输入123, python会默认"123",因此eval()函数是将字符串变为可以在python中运行的代码(简单理解将最外边的双引号或引号去了),例如eval(“123”)等于123,eval(“1+2”)等于3(因为去了引号后为1+2,不是字符串,于是python就开始运算了)
height = eval(input("请输入你的身高(cm):"))
if height < 140:
print("你身高只有", height, "cm", sep="")
elif height < 170:
print("你身高有", height, "cm", sep="")
else:
print("你身高居然有", height, "cm", sep="")
四.格式化输出format()函数
print("名字:{},年龄:{}".format("tom", 16))
print("名字:{1},年龄:{0}".format("tom", 16))
print("名字:{name},年龄:{age}".format(name="tom", age=16))
和format功能类似
符号 | 作用 |
---|
%d %i | 整型 | %o | 八进制 | %x %X | 十六进制 | %e | 科学计数e | %E | 科学计数E | %f | 小数 | %c | asc码 | %s | 字符串 |
用法(例如输出整型):
print("年龄:%d"%(18))
输出结果:
年龄:18
五.关于数值型
(1)二、八、十六进制转十进制
a = 0B101
print(a)
a = 0o167
print(a)
a = 0x12A
print(a)
(2)数值的运算符
符号 | 作用 | 符号 | 作用 |
---|
+ | 加 | << | 移位 | - | 减 | >> | 移位 | * | 乘 | & | 按位与 | / | 除 | | | 按位或 | // | 整除 | % | 取余 | ** | 幂 | = | 赋值 |
(3)数值的函数
六.转义字符及字符串
转义字符 | print输出为 |
---|
\n | 换行 | \t | tab | \\ | \ | \’ | ’ | \" | " | \0 | 空格 | \ooo | 八进制表示的asc | \xhh | 十六进制表示asc |
复制代码看看结果
print("asdasd\nashdkahdk\tasdsajl")
print(r"asdasd\nashdkahdk\tasdsajl")
print(len("asdj"))
print('he' in "hello")
print("he" + "llo")
for i in "abc":
print(i)
a = "defasda"
print(a[0])
print(a[1])
print(a[2])
print(a[1:3])
print(a[1:])
print(a[:4])
print(a[-1:])
print(a[:-1])
print(a[:])
print(a[::2])
print(a[::-1])
a = 12
print(type(a))
a = str(a)
print(type(a))
七.list列表类型
python的数组创建方式很多
代码一
a = []
print("a", a)
a.append(1)
print("a", a)
b = [1, 2, 3]
print("b", b)
c = [1, "b", 3]
print("c", c)
d = [1, [1, 2], "12"]
print("d", d)
print("d", d[2])
print("d", d[1][0])
e = list("abcdef")
print("e", e)
f = list(range(-1, 10))
print("f", f)
g = list((1, 2, 3))
print("g", g)
h = list(x for x in range(5))
print("h", h)
i = list(x + 5 for x in range(5))
print("i", i)
'''
输出结果:
a []
a [1]
b [1, 2, 3]
c [1, 'b', 3]
d [1, [1, 2], '12']
d 12
d 1
e ['a', 'b', 'c', 'd', 'e', 'f']
f [-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
g [1, 2, 3]
h [0, 1, 2, 3, 4]
i [5, 6, 7, 8, 9]
'''
代码二
print("x原来的样子:", end="")
x = [1, 2, 3, 4, 5]
print(x)
print("append()添加单个对象")
x.append(6)
print(x)
print("extend()添加多个对象")
x = [1, 2, 3, 4, 5]
x.extend([1, 2])
print(x)
print("instert()插入对象")
x = [1, 2, 3, 4, 5]
x.insert(1, "123")
print(x)
print("remove()按值删除")
x = [1, 2, 3, 4, 5]
x.remove(2)
print(x)
print("pop()按位置删除")
x = [1, 2, 3, 4, 5]
x.pop()
print(x)
x.pop(1)
print(x)
print("clear()全部删除")
x = [1, 2, 3, 4, 5]
x.clear()
print(x)
print("-" * 10)
print("x现在为:", [1, 2, 3, [1, 2], 5])
print("复制列表")
x = [1, 2, 3, [1, 2], 5]
y = x
print(y)
print("id:", id(y))
print("id:", id(x))
print("copy()复制列表")
x = [1, 2, 3, [1, 2], 5]
y = x.copy()
print(y)
print("id:", id(y))
print("id:", id(x))
print("deepcopy()复制列表")
import copy
x = [1, 2, 3, [1, 2], 5]
y = copy.deepcopy(x)
print(y)
print("id:", id(y))
print("id:", id(x))
print("sort()给list排序从小到大,如果是字符串,以第一个字母的asc码比较,相同话比较第二个,注意不同类型不能排序,否则报错")
x = [5, 4, 3, 1, 2]
print("原来:", x)
x.sort()
print("现在:", x)
x = ["hsd", "sadj", "suw", "sakj"]
print("原来:", x)
x.sort()
print("现在:", x)
'''
x原来的样子:[1, 2, 3, 4, 5]
append()添加单个对象
[1, 2, 3, 4, 5, 6]
extend()添加多个对象
[1, 2, 3, 4, 5, 1, 2]
instert()插入对象
[1, '123', 2, 3, 4, 5]
remove()按值删除
[1, 3, 4, 5]
pop()按位置删除
[1, 2, 3, 4]
[1, 3, 4]
clear()全部删除
[]
----------
x现在为: [1, 2, 3, [1, 2], 5]
复制列表
[1, 2, 3, [1, 2], 5]
id: 1802942493952
id: 1802942493952
copy()复制列表
[1, 2, 3, [1, 2], 5]
id: 1802942827072
id: 1802945340800
deepcopy()复制列表
[1, 2, 3, [1, 2], 5]
id: 1802945340800
id: 1802945356608
sort()给list排序从小到大,如果是字符串,以第一个字母的asc码比较,相同话比较第二个,注意不同类型不能排序,否则报错
原来: [5, 4, 3, 1, 2]
现在: [1, 2, 3, 4, 5]
原来: ['hsd', 'sadj', 'suw', 'sakj']
现在: ['hsd', 'sadj', 'sakj', 'suw']
'''
输出结果
a []
a [1]
b [1, 2, 3]
c [1, 'b', 3]
d [1, [1, 2], '12']
d 12
d 1
e ['a', 'b', 'c', 'd', 'e', 'f']
f [-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
g [1, 2, 3]
h [0, 1, 2, 3, 4]
i [5, 6, 7, 8, 9]
list函数
- 求长度 len([1,2,3]) >> 3
- list合并 [1,2]+[3,4] >> [1,2,3,4]
- 是否包含 1 in [1,2,3] >> True
- 分片 [1,2,3,4][1:] >> [2,3,4]
- 分片 [1,2,3,4][1:2] >> [2]
- 分片 [1,2,3,4][:2] >> [1,2]
- 分片 [1,2,3,4][::2] >> [2,4]
- 分片 [1,2,3,4][::-1] >> [4,3,2,1]
- 分片赋值 [1,2,3,4][1,3] = [1,7]>> [1,1,7,4]
- 删除成员 del [1,2,3,4,5][0] >> [2,3,4,5]
- 删除成员 del [1,2,3,4,5][0:3] >> [3,4,5]
list内置方法
- append() 添加单个对象
- extend() 添加多个对象
- insert() 插入对象
- remove() 删除特定值,有重复只删第一个,没有发现将会报错
- pop() 按位置删除,不填值删除最后一个
- clear() 删除所有对象
- x = [1,2,3];y=x;print(y) >> [1,2,3] 复制列表,地址会相同
- copy() 复制列表,只复制一层,地址不同
- deepcopy() 复制列表,深层复制,地址不同
- sort() 排列顺序
可以通过函数id()来观察变量的地址
八.元组
创建元组方法
方法 | 解释 | 结果 |
---|
() | 创建一个空元组 | () | tuple() | 函数创建一个元组 | () | (2,) | 创建一个有内容的元组,逗号不能少 | (2,) | (1,“a”,3) | 不同类型创建元组 | (1,“a”,3) | tuple(‘abc’) | 创建元组对象 | (‘a’,‘b’,‘c’) | tuple([1,2,3]) | 创建元组对象 | (1,2,3) | tuple(x*2 for x in range(4)) | 创建元组对象 | (0,2,6) |
九.集合
这里的集合和数学的集合一样
创建集合方法
方法 | 解释 | 结果 |
---|
{1,2,3} | 创建一个集合 | {1,2,3} | set([1,2,3]) | 用set()函数,创建一个集合 | {1,2,3} | set({1,2,3}) | 用set()函数,创建一个集合 | {1,2,3} | set(“123abc”) | 用set()函数,创建一个集合 | {1,2,3,a,b,c} | set() | 创建一个空集合 | set() | type({}) | 识别集合类型 | <class ‘dict’> | {1,2,3,3,3,5} | 集合中元素只能有一个,python会自动识别 | {1,2,3,5} | {x+3 for x in [1,2,3,4]} | 创建一个集合 | {4,5,6,7} | {x*2 for x in ‘abc’} | 创建一个集合 | {‘aa’,‘bb’,‘cc’} |
十.字典
简单介绍:while是一种循环语句,当条件为True时,会一直循环(可配合break,continue使用)
while格式一
while 条件判断:
执行代码
while格式二
while 条件判断:
执行代码A
else:
执行代码B
while循环完后再执行else后的代码,遇到break将不会执行
i = 0
while i < 10:
i += 1
print(i)
i = 0
while i < 10:
i += 1
print(i)
else:
print("-"*10)
print(i)
while的进阶使用(break,continue) break(跳出循环)
i =0
while i < 10:
i+=1
if i > 5:
break
print(i,end="")
结果:12345
continue(结束当前循环,进入下一次循环)
i =0
while i < 10:
i += 1
if i == 5:
continue
print(i,end="")
结果:12346789
十二.for语句
for的两种形式
一
for 变量名 in 序列对象:
执行代码
二
for 变量名 in 序列对象:
执行代码A
else:
执行代码B
for也支持break与continue一样,就不多介绍了
for i in range(4):
print(i)
print("*" * 10)
for i in range(4):
print(i)
else:
print(i)
for的进阶使用(range) range中文翻译为范围,range(start, stop[, step]) 参数说明:
- start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);
- stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5
- step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)
用于for中:
for i in range(10):
print(i)
for i in range(5,10):
print(i)
for i in range(0,10,2):
print(i)
for i in range(10,0,-1):
print(i)
|