python3自动化学习01
2018-06-18 03:19:30来源:未知 阅读 ()
概要:python简介、HelloWorld程序、变量、字符编码、用户交互程序、if...else、while、for、常用的数据类型、文件基本操作
一、python简介
首先,我们普及一下编程语言的基础知识。用任何编程语言来开发程序,都是为了让计算机干活,比如下载一个MP3,编写一个文档等等,而计算机干活的CPU只认识机器指令,所以,尽管不同的编程语言差异极大,最后都得“翻译”成CPU可以执行的机器指令。而不同的编程语言,干同一个活,编写的代码量,差距也很大。
比如,完成同一个任务,C语言要写1000行代码,Java只需要写100行,而Python可能只要20行。
二、HelloWorld程序
1 print("Hello World")
三、变量
变量只能使用字母、下划线、数字的组合,并且不能以数字开头。
常用的变量命名方法有:
下划线命名法: gf_name = "xxx" #python建议使用这种命名方法
驼峰命名法: GFName = "xxx"
另外大写表示是常量,建议不要更改,如:
PIF = 12345
python的保留字不能用于变量命名
['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
这个例子可以注意一下:name2是指向name所指向的 "alex li"这个字符串。
#!/usr/bin/env python3 #author:Alnk name = "alex li" name2 = name print("my name is ",name,name2) name = "paoche ge" print(name,name2)
四、字符编码
二进制:计算机底层只认识0和1
ASCII码:8位1字节,最多可以表示255个字符
GB2312:7000多个汉字,1980年
GBK:21000多个汉字,兼容GB2312,1995年
GB18030:27000多个汉字,还收录了藏文,蒙文,维吾尔文等,2000年
ASCII --> GB2312 --> GBK --> GB18030
手机,mp3一般只支持GB2312,pc必须支持GB18030编码
unicode(万国码):兼容所有的字符编码,2 个字节 16位,65525个字符,但是每个字符占2字节,相对于ASCII码来说存在浪费。
utf-8:解决unicode中关于英文字符浪费的问题,英文字符占1个字节,中文字符占3个字节
五、用户交互程序
input()函数:输入的值都属于字符串
利用int()函数获取整数
利用float()函数获取浮点数
利用 getpass 模块进行密文输入
格式化输出
% 进行格式化输出
输出结果
format格式化输出方法1
输出结果
方法2
输出结果
六、if ... elif ...else 判断语句
if .. else 语句:如果 if 条件成立则执行 if 语句后面的代码,然后结束。否则执行 else 语句的代码。
#!/usr/bin/env python3 #author:Alnk _username = "alnk" _password = "123" username = input("username: ") password = input("password: ") if _username == username and _password == password: print("welcome name %s login..." % username) else: print("Invalid usernmae or password!")
if ... elif ... else :先判断 if 条件是否成立,如果成立,则执行 if 语句的代码,判断结束。否则再判断 elif 语句条件是否成立,如果成立则执行 elif 语句的代码,否则执行 else 语句的代码。
#!/usr/bin/env python3 #author:Alnk age_of_oldboy = 56 guess_age = int(input("guess age:")) if guess_age == age_of_oldboy: print("yes,you got it.") elif guess_age > age_of_oldboy: print("think smaller...") else: print("think bigeer!")
七、循环语句
while循环语句:当条件不满足时才停止循环。
break:终止最深层的循环,一般用于while循环和for循环。
continue:跳出本次循环,进入到下一次循环,一般用于while循环和for循环。
while ... else 语句:当while的条件不成立时才走else
#!/usr/bin/env python3 #author:Alnk age_of_oldboy = 56 count = 0 while count < 3: guess_age = int(input("guess age:")) if guess_age == age_of_oldboy: print("yes,you got it.") break elif guess_age > age_of_oldboy: print("think smaller...") else: print("think bigeer!") count +=1 else: print("你输错次数太多,结束")
猜数字游戏,猜错三次提示是否继续
#!/usr/bin/env python3 #author:Alnk age_of_oldboy = 56 count = 0 while count < 3: guess_age = int(input("guess age:")) if guess_age == age_of_oldboy: print("yes,you got it.") break elif guess_age > age_of_oldboy: print("think smaller...") else: print("think bigeer!") count +=1 if count == 3: continue_confim = input("do you want to keep guessing?(y/n)") if continue_confim != "n": count = 0
for循环
for循环打印99乘法表
#!/usr/bin/env python3 #author:Alnk #99乘法表 for i in range(1,10): for j in range(1,i+1): print("%s * %s ="%(j,i),i*j,end='\t') print()
for ... else 语句:for代码块正常结束则执行else语句
#!/usr/bin/env python3 #author:Alnk age_of_oldboy = 56 count = 0 for i in range(3): guess_age = int(input("guess age:")) if guess_age == age_of_oldboy: print("yes,you got it.") break elif guess_age > age_of_oldboy: print("think smaller...") else: print("think bigeer!") count +=1 else: print("你输错次数太多,结束")
八、常用的数据类型
1.数字
int
float
2.布尔值
真 或 假
0 或 1
3.字符串
字符串常用功能:
1 #!/usr/bin/env python3 2 #author:Alnk 3 ''' 4 name = 'eric' 5 name = str('eric') 6 result = name.__contains__('er') #包含 7 print(result) 8 9 name = 'eric' 10 result = name.capitalize() #首字母大写,其他字符小写 11 print(result) 12 13 name = 'ERIC' 14 result = name.casefold() #首字母小写,其他字母不变 15 print(result) 16 17 name = 'eric' 18 result = name.center(20,'*') #居中 19 print(result) 20 21 name = 'sadfasfasdfasdfasdfasdfasdfwrdhtik' 22 result = name.count('d') #字符出现的次数 23 print(result) 24 result = name.count('d',0,10) #0-10位置字符d出现的次数 25 print(result) 26 27 name = '李成果' 28 result = name.encode('gbk') #转码 29 print(result) 30 31 name = 'Alnk' 32 result = name.endswith('k') #判断字符串是否以 'k' 结尾 startswith:以什么开头 33 print(result) 34 result = name.endswith('k',0,3) #判断字符串是否以 'k' 结尾,起始位置 0,3 35 print(result) 36 37 name = 'a\tlnk' 38 result = name.expandtabs() #把 tab 键转化为8个空格 39 print(result) 40 41 name = 'alnk' 42 result = name.find('ln') #返回字符串的索引,也可以确定起始和结束位置,如果没找到返回-1 43 print(result) 44 45 name = 'alnk' 46 result = name.index('x') #返回字符串的索引,也可以确定起始和结束位置,如果没找到直接报错 47 print(result) 48 49 name = 'alnk {0} as {1}' 50 result = name.format('shuaiguo','aaa') #拼接 51 print(result) 52 53 name = ['a','l','n','k'] 54 result = "--".join(name) #"--" 分隔符,join 拼接 55 print(result) 56 57 name ='alnk' 58 result = name.ljust(8,'=') #左对齐, rjust:右对齐 59 print(result) 60 61 name = "ALNK" 62 result = name.lower() #所有字符变成小写 63 print(result) 64 65 name = ' alnk x ' 66 result = name.lstrip() #去除左边空格,rstrip 去除右边空格 67 print(result) 68 69 name = 'alnkisbi' 70 result = name.partition('is') #以is为分割符,分割成3部分,组成一个元组 71 print(result) 72 73 name = 'alnkisaaaa' 74 result = name.replace('a','===') #把字符'a' 全部替换成 '===' 75 result = name.replace('a','===',1) #把字符'a' 替换成 '===',只转化第一个 76 print(result) 77 78 name = 'alnkisshuaiguoisaaa' 79 result = name.split('is') #指定分割的字符,并生成一个列表 80 print(result) 81 82 name = 'Alnk' 83 result = name.swapcase() #大小写反转 84 print(result) 85 86 name = 'alnk' 87 result = name.zfill(10) #左对齐,补0 88 print(result) 89 '''
移除空白:strip()
分割:split() 就是将一个字符串按照指定的分隔符分割成多个字符串组成的列表
长度:len()
索引
切片
4.列表
列表常用操作:
索引:和字符串的索引差不多
切片:和字符串的切片差不多
追加:append()
删除:pop()、remove()
长度:len()
包含:in
统计:count()
插入:insert() 在指定的索引位置插入
反转:reverse()
排序:sort()
扩展:extend()
清除:clear() 清空这个列表里的所有元素,并不会删除这个列表
删除列表中多个重复的元素
5.元组
元组的元素不可修改
元组的元素的元素可修改
常用操作:
索引
统计
切片
长度
循环
包含
6.字典
无序的键值对,键不能重复。
常用操作:
索引
新增
删除:del
键、值、键值对
键:keys 值:values 键值对:items
for k,v in dic.items:
pass
循环
长度
九、运算符
算术运算符
+ 加
- 减
* 乘
/ 除
// 取整除,返回商的整数部分
% 取模,返回除法的余数
** 幂运算
比较运算符
== 等于
!= 不等于
> 大于
< 小于
>= 大于等于
<= 小于等于
赋值运算
= 简单的赋值运算符
+= 加法赋值运算符
-= 减法赋值运算符
*= 乘法赋值运算符
/= 除法赋值运算符
%= 取模赋值运算符
**= 幂赋值运算符
//= 取整除赋值运算符
位运算
&
|
^
~
<<
>>
逻辑运算符
and
or
not
成员运算符
in
not in
身份运算符
is
is not
十、一切事务都是对象
对于python来说,一切事务都是对象,对象基于类创建
例子:
s1 = "alnk abcd"
s2 = str("alnk abcdefg")
这两种方法都可以创建一个字符串对象,第二种方法是调用了 str类 创建s2对象。s2 是 str类 的对象。同理,int、float、list、tuple、dict、set等都是通过调用类创建对象的方法。
十一、文件基本操作
模式
r 读取模式
r+ 读写模式
rb 二进制读取模式
rb+ 二进制读取和写入模式
w 写入模式,如果文件存在,会覆盖原来的文件内容;如果不存在,则创建该文件
w+ 写入和读取模式,如果文件存在,会覆盖原来的文件内容;如果不存在,则创建该文件
wb 二进制格式写入,如果文件存在,会覆盖原来的文件内容;如果不存在,则创建该文件
wb+ 二进制格式写入和读出文件,如果文件存在,会覆盖原来的文件内容;如果不存在,则创建该文件
a 追加模式,如果文件存在则指针位于文件的末尾;如果不存在,则创建该文件
a+ 追加和读取方式,如果文件存在则指针位于文件的末尾;如果不存在,则创建该文件
ab 二进制格式追加,如果文件存在则指针位于文件的末尾;如果不存在,则创建该文件
ab+ 二进制格式读取模式,如果文件存在则指针位于文件的末尾;如果不存在,则创建该文件
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- python3基础之“术语表(2)” 2019-08-13
- python3 之 字符串编码小结(Unicode、utf-8、gbk、gb2312等 2019-08-13
- Python3安装impala 2019-08-13
- Python学习日记(十) 生成器和迭代器 2019-08-13
- python学习-53 正则表达式 2019-08-13
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash