1:第一个Python程序
Python程序有多种编写方式:
1.1:进入cmd控制台,输入python进入编辑模式. 这时候我们可以直接编写python程序
win + R 输入cmd进入命令行,输入python
1.2:也可以在.py文件中编写python代码. 通过python命令来执行python代码,在d盘新建一个test.py文件,然后记事本打开,输入如下内容:然后保存
print("hello Python")print(11 + 20)
注意: python2中的中文编码会有问题. Python2使用的是ASCII码编码. 处理不了中文. 我们需要替换成utf-8编码.:需要在test.py文件在开头加入如下语句:
# -*- encoding:utf-8 -*-
1.3: 也可以在集成开发环境中运行
比如Sublime Text 3
2:变量及赋值
2.1:变量:
变量:在Python中变量就是对象的引用,相当于指向对象的指针,变量没有类型,有类型的是对象。
Python 中的变量不需要声明。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。
Python 中,变量就是变量,它没有类型,我们所说的"类型"是变量所指的内存中对象的类型。
2.2:赋值
将一个值赋给变量的操作被称为赋值。如:
a = 101
b = 102
多重赋值与多元赋值:
多重赋值:可以同时给多个变量赋予相同内容的操作。如:
a = b = c = 200
多元赋值:可同时给多个变量赋予不同内容的操作。如:
a,b,c = 1,2,3
Python在赋值的时候会执行3个不同的步骤来完成赋值操作:
如:a= 101
1:创建一个对象来代表值110。
2:创建一个变量a,如果它没有创建的话。
3:将变量与新的对象110相连接。
如下图:
2.3:变量定义的规则:
a:变量名由数字,字母,下划线组成
b:变量名不能以数字开头
c:变量名区分大小写
d:变量名不能是Python关键字
Python有哪些关键字??
>>> import keyword>>> keyword.kwlist['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']>>>
变量名命名建议:
a:名字要有意义
b:不要太长
c:推荐大家使用驼峰体或者下划线命名
驼峰体: 除首字母外的其他每个单词首字母大写
下划线: 每个单词之间用下划线分开
3:常量
常量即指不变的量,在python中不存在绝对的常量. 约定俗成, 所有字⺟⼤写就是常量
例如: PI = 3.141592653
4:注释
Python中单行注释以 # 开头,实例如下:
# 第一个注释print ("Hello, Python!") # 第二个注释
执行以上代码,输出结果为:
Hello, Python!
多行注释可以用多个 # 号,还有 ''' 和 """:
# 第一个注释# 第二个注释'''第三注释第四注释'''
"""第五注释第六注释"""
print ("Hello, Python!")
执行以上代码,输出结果为:
Hello, Python!
5:行与缩进
python最具特色的就是使用缩进来表示代码块,不需要使用大括号 {} 。
Python的缩进有以下几个原则:
顶级代码必须顶行写,即如果一行代码本身不依赖于任何条件,那它必须不能进行任何缩进;
同一级别的代码,缩进必须一致;
缩进的字符要一致,要么是按tab键,要么是按几个空格键,不然会出错;
缩进的空格数是可变的,但是同一个代码块的语句必须包含相同的缩进空格数,并且两个相邻代码块之间缩进空格数不同。实例如下:
if True:print ("True") # 此处需要缩进else:print ("False") # 此处需要缩进
以上是运行错误的。
if True: print ("True") # 相当于 上一级有缩进,但不要求所有缩进都一致else: print ("False")
以上是运行正确的。
if True: print ("True")else: print ("False1") print ("False2") # 此处与前后的print语句属于同一级,故不能缩进 print ("False3")
以上是运行错误的。
建议采用如下缩进,相邻代码块之间使用4个空格(或者tab)来缩进:
if True: print ("True")else: print ("False1") print ("False2") print ("False3")
6:多行语句
Python 通常是一行写完一条语句,但如果语句很长,我们可以使用反斜杠(\)来实现多行语句,例如:
total = line_one + \ line_two + \ line_three
#不需要缩进
在 [], {}, 或 () 中的多行语句,不需要使用反斜杠(\),例如:
total = ['item_one', 'item_two', 'item_three','item_four', 'item_five']
7:Python基本数据类型
什么是数据类型?
我们人类可以很容易的分清数字与字符的区别,但是计算机并不能呀,计算机虽然很强大,但从某种角度上看又很傻,除非你明确的告诉它,1是数字,“汉”是文字,否则它是分不清1和‘汉’的区别的,因此,在每个编程语言里都会有一个叫数据类型的东东,其实就是对常用的各种数据类型进行了明确的划分,你想让计算机进行数值运算,你就传数字给它,你想让他处理文字,就传字符串类型给他。Python中常用的数据类型有多种,今天我们暂只讲3种, 数字、字符串、布尔类型
7.1、整数类型(int):
int(整型)
在32位机器上,整数的位数为32位,取值范围为-2**31~2**31-1,即-2147483648~2147483647
在64位系统上,整数的位数为64位,取值范围为-2**63~2**63-1,即-9223372036854775808~9223372036854775807
long(长整型)
跟C语言不同,Python的长整数没有指定位宽,即:Python没有限制长整数数值的大小,但实际上由于机器内存有限,我们使用的长整数数值不可能无限大。
注意,自从Python2.2起,如果整数发生溢出,Python会自动将整数数据转换为长整数,所以如今在长整数数据后面不加字母L也不会导致严重后果了。
注意:在Python3里不再有long类型了,全都是int
Python2.7:
Python3.6:
7.2、字符串类型(str):
在Python中,凡是⽤引号引起来的,全是字符串;
字符串可以⽤单引号(''),双引号(""),或者三引号('''或者""")引起来,没有什么区别,只是⼀些特殊的格式需要不同的引号:
只有下面这种情况 你需要考虑单双的配合或者使用转义符\:
s = 'I\'m Chinese' # 使用转义字符print(s)s = "I'm Chinese" print(s)
多引号什么作用呢?作用就是多行字符串必须用多引号:
s = """日照香炉生紫烟,遥看瀑布挂前川。飞流直下三千尺,疑是银河落九天。"""print(s)
# 字符串的拼接 (+)
s1 = 'hello 's2 = 'world'print(s1 + s2)#注意,字符串的拼接只能是双方都是字符串,不能跟数字或其它类型拼接 s1 = 'hello's2 = 1234print(s1 + s2) #TypeError: must be str, not intprint(s1 + str(s2)) # 必须把数字转换为字符串,使用 str函数转换# 相乘 str*int 重复字符串name = '中国 'print(name * 5)
7.3、布尔值(bool):
布尔值(bool), 真或者假, True和False
8:用户交互及输出
8. 1:input
使⽤input()函数,可以让我们和计算机互动起来 语法:
内容 = input(提⽰示信息);
这⾥里里可以直接获取到⽤用户输入的内容,input输入的内容为字符串,如果输入的为数字,需要使用int函数进行转换;
s = input("请输入:")print(s)print(type(s)) #
8.2:输出 print
a=100s='hello Python'b=200 print(a,s) # 输出 100 hello Python , 分隔符默认为空格 # 修改分隔符 使用sep='分隔符'print(a,s,sep='@@') # 输出 100@@hello Python # 修改结束符,默认为'\n',下一个print的输出会在新的一行print(a,end='$') # 下一个print的输出不会换行print(s) # 下一个print的输出会在新的一行print(b) print('a=%s,s=%s,b=%s' % ( a ,s, b ))
9:if语句:
if 条件: 代码块#当条件为真时,执行代码块 if 条件: 代码块1else: 代码块2#当条件为真时,执行代码块1,否则执行代码块2 # 多分支if 条件1: 代码块1elif 条件2: 代码块2elif 条件3: 代码块3...... else: 代码块
嵌套: if..else可以无限的嵌套, 写的时候尽量控制在3-5以内
10:while循环:
格式:
while 条件: 代码块(也叫循环体) break #停止当前本层循环 continue #终止当前本次循环。继续执行下一次循环else:# 当条件为假的时候会执行else,break退出时不会执行else 代码块
例子:
print('-1-------------')count = 0while count < 10: print(count) count += 1print('-2--has else----------')count = 0while count < 10: print(count) count += 1else:# # 如有break 跳出,就不会执行到此处 print(count) print('-3--continue----------')count = 0while count < 10: count += 1 if count == 5: continue print(count) print('-4--break----------')count = 0while count < 10: print(count) if count == 5: break count += 1else: # 如有break 跳出,就不会执行到此处 print(count)
11:for循环:
用于遍历有序序列或可迭代对象
for target in object: statementselse: statements
s = 'Python' for item in s: print(item) for i in range(1,10): print(i)
12:python中的帮助工具:
当你对某个模块,或者对象不怎么熟悉的时候,不知道它有哪些方法的时候,你可以使用dir函数来查看,同时可以使用help函数来查看方法或属性的说明;
print(dir(str)) # 查看字符串有哪些方法及属性print(dir(str.count)) # 查看str.count函数 有哪些方法及属性print(help(str.count)) # 查看str.count函数 的定义,说明 # 也可以查看变量s= 'Python'print(dir(s))print(help(s.count))
结果:
['__add__', '__class__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mod__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmod__', '__rmul__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'capitalize', 'casefold', 'center', 'count', 'encode', 'endswith', 'expandtabs', 'find', 'format', 'format_map', 'index', 'isalnum', 'isalpha', 'isdecimal', 'isdigit', 'isidentifier', 'islower', 'isnumeric', 'isprintable', 'isspace', 'istitle', 'isupper', 'join', 'ljust', 'lower', 'lstrip', 'maketrans', 'partition', 'replace', 'rfind', 'rindex', 'rjust', 'rpartition', 'rsplit', 'rstrip', 'split', 'splitlines', 'startswith', 'strip', 'swapcase', 'title', 'translate', 'upper', 'zfill']['__call__', '__class__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__get__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__name__', '__ne__', '__new__', '__objclass__', '__qualname__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__text_signature__']Help on method_descriptor: count(...) S.count(sub[, start[, end]]) -> int Return the number of non-overlapping occurrences of substring sub in string S[start:end]. Optional arguments start and end are
查看Python中的内置函数:
# 查看字符串中的方法print([item for item in dir(str) if not item.startswith('__') ]) # Python中所有的内置函数都在 __builtins__ 中,执行下面语句即可查看,然后使用help查看函数的详情print([item for item in dir(__builtins__) if not item.startswith('__') and item[0].islower() ])
领取专属 10元无门槛券
私享最新 技术干货