Python学习笔记(1)
本节内容
1.hello word
2.变量
3.用户输入
4.模块初识
5.数据类型初识
6.数据运算
7.表达式if.....else语句
8.while循环
9.for循环
10.break 和 continue
11.字符串转换
一、hello word
在linux下创建后缀文件为xxx.py
#!/usr/bin/env python #指定语言
print("hello word") #打印结果;注意需要有引号
python支持中文
单行注释:#注释的内容
多行注释:'''注释内容''' '''注释内容'''
二、变量
声明变量:
声明一个变量;变量为name,变量name的值为“hanyunhui”
#_*_coding:utf-8_*_
name = "hanyunhui"
print(name) #打印出结果;调用变量
变量定义的规则:
- 变量名只能是字母、数字或下划线的任意组合
- 变量名的第一个字符不能是数字
- 当变量为数字时可以不带双引号“”;当变量为字符串时必须带双引号,如果变量为已知变量可以不带双引号;为统一,日后变量都带双引号
- 以下不能声明为变量:
['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']
变量的赋值
1 name = "1" 2 name2 = name 3 4 name = "2" 5 6 print(name,name2) #调用多个变量中间用逗号隔开;
执行出结果为:2 1
三、用户输入
input
#!/usr/bin/env python #_*_coding:utf-8_*_ (python 2 需要添加字符串编码) name = input("what is your name:") print(name) #打印出结果
输入密码时,如果想不被看见,需要利用getpass 模块中getpass方法,即:
1 #!/usr/bin/env python 2 # -*- coding: utf-8 -*- 3 4 import getpass 5 6 # 将用户输入的内容赋值给 name 变量 7 pwd = getpass.getpass("请输入密码:") 8 9 # 打印输入的内容 10 print(pwd)
四、模块初识
Python的强大之处在于他有非常丰富和强大的标准库和第三方库,几乎你想实现的任何功能都有相应的Python库支持,以后的课程中会深入讲解常用到的各种库,现在,我们先来象征性的学2个简单的。
sys
1 #!/usr/bin/env python 2 # -*- coding: utf-8 -*- 3 4 import sys 5 6 print(sys.argv) 7 #显示的结果为:执行的过程
os
1 #!/usr/bin/env python 2 # -*- coding: utf-8 -*- 3 4 import os 5 6 os.system("df -h") #调用系统命令
结合使用:
1 import os,sys 2 3 os.system(''.join(sys.argv[1:])) #把用户的输入的参数当作一条命令交给os.system来执行
五、数据类型初始
2 是一个整数的例子。
长整数 不过是大一些的整数。
3.23和52.3E-4是浮点数的例子。E标记表示10的幂。在这里,52.3E-4表示52.3 * 10-4。
(-5+4j)和(2.3-4.6j)是复数的例子,其中-5,4为实数,j为虚数,数学中表示复数是什么?。
int(整型)
在64位系统上,整数的位数为64位,取值范围为-2**63~2**63-1,即-9223372036854775808~9223372036854775807
跟C语言不同,Python的长整数没有指定位宽,即:Python没有限制长整数数值的大小,但实际上由于机器内存有限,我们使用的长整数数值不可能无限大。
注意,自从Python2.2起,如果整数发生溢出,Python会自动将整数数据转换为长整数,所以如今在长整数数据后面不加字母L也不会导致严重后果了。
float(浮点型)
complex(复数)
复数由实数部分和虚数部分组成,一般形式为x+yj,其中的x是复数的实数部分,y是复数的虚数部分,这里的x和y都是实数。
"hello world"
字符串拼接:
python中的字符串在C语言中体现为是一个字符数组,每次创建字符串时候需要在内存中开辟一块连续的空,并且一旦需要修改字符串的话,就需要再次开辟空间,万恶的+号每出现一次就会在内从中重新开辟一块空间。
PS:字符串:%s 整数为:%d 浮点数:%f
print(type(某个类型))打印字符串类型
1 name = input("name:") 2 age = input("age:") 3 4 info = ''' 5 ----- info of %s ---- 6 name:%s 7 age:%s 8 '''%(name,name,age) 9 print(info) #显示结果为:name:输入结果 age:输入结果
1 name = "HYH" 2 3 print ("i am %s" % name) #执行结果为:i am HYH 4 5 print(type(name)) #打印出name显示的字符串类型
字符串功能:
移除空白、分割、长度、索引、切片
4、列表
基本操作:
索引、切片、追加、删除、长度、循环、包含
创建列表:
1 name_list = list(['na','me','name']) 2 或 3 name_list = ['na','me','name']
5、元组(不可变列表)
创建元组:
1 ages = (11,22,33,44) 2 ages = tuple((11,22,33,44))
6、字典(无序)
常用操作:
索引、新增、删除、键 值 键值对、循环、长度
创建字典:
1 person = {"name":"mr.wu",'age':18} 2 person = dict({"name":"mr.wu",'age':18}) 3 #print(person) 执行出结果为{"name":"mr.wu",'age':18}
六、数据运算
算数运算:
比较运算:
赋值运算:
逻辑运算:
成员运算:
身份运算:
位运算:

#!/usr/bin/python a = 60 # 60 = 0011 1100 b = 13 # 13 = 0000 1101 c = 0 c = a & b; # 12 = 0000 1100 print "Line 1 - Value of c is ", c c = a | b; # 61 = 0011 1101 print "Line 2 - Value of c is ", c c = a ^ b; # 49 = 0011 0001 #相同为0,不同为1 print "Line 3 - Value of c is ", c c = ~a; # -61 = 1100 0011 print "Line 4 - Value of c is ", c c = a << 2; # 240 = 1111 0000 print "Line 5 - Value of c is ", c c = a >> 2; # 15 = 0000 1111 print "Line 6 - Value of c is ", c
运算符优先级:
七、if....else
内联if:
场景一、验证登陆;

1 import getpass 2 3 name = input("user:") 4 pawd = getpass.getpass('password:') 5 6 if name == "admin" and paed == "admin" : 7 print("welcome,HYH") 8 else: 9 print("用户名或密码错误")
场景二:猜年龄大小
设置年龄大小;输入正确提示correct;猜大了提示big,猜小了提示small

age = 28 num = int(input("input your guess num:")) if num == age : print("correct") elif num < age : print("small") else: print("big")
外层变量可以被内层代码使用
内层变量不能被外层代码使用
八、while循环
死循环,永远不会停止
1 num = 10 2 while True: 3 print(num) 4 # 一直循环10,不会停止
用户名和密码登陆;输入三次不对以后,提示是否继续?
1 name = 'admin' 2 pawd = 'admin' 3 count = 0 4 while count <3 : 5 inname = input("user:") 6 inpass = input("pass:") 7 8 if inname == name and inpass == pawd : 9 print("welcome log in...!") 10 break 11 count +=1 12 if count >= 3: 13 #print("Whether to continue to log in") 14 inlog = input("Continue to log in") 15 if inlog != 'n' : 16 count = 0
九、for循环
语法:for 变量对象 in 可变量对象:
循环5次
1 for i in range(5): 2 print("loop",i)
需求一:还是上面的程序但是遇到小于5的循环次数就不走了,直接跳入下一次循环
for n in range(10): if n < 5: continue #跳出本次循环,进入下次循环 print("loop",n)
需求二:还是上面的程序但是遇到大于5的循环次数就不走了,直接跳入下一次循环
for n in range(10): if n > 5: continue print("loop",n)
案例三:查找列表以及索引
十、break 和 continue
break语句用在while和for循环中。
如果您使用嵌套循环,break语句将停止执行最深层的循环,并开始执行下一行代码。
Python continue 语句跳出本次循环,而break跳出整个循环。
continue 语句用来告诉Python跳过当前循环的剩余语句,然后继续进行下一轮循环。
continue语句用在while和for循环中。
十一、字符串和二进制转换
字符串和二进制转换
1 msg = "我爱北京天安门" 2 print(msg) 3 print(msg.encode('utf-8')) ##转换成二进制 4 print(msg.encode('utf-8').decode('utf-8')) ##把二进制转换成字符串