一、基础知识
1.print(" ") 打印
print("Hello world!")
输出:Hello world!
2.变量
(1)变量名称类似数学里的未知数x、y、z,比如说x=6,其含义就是6这个数字赋值给x。
x=6
x
输出:6
x=6
x=7
x
输出:7
输出最后的值
(2)变量名必须以字母或者下划线(_)开始,名字中间只能由字母、数字和下划线组成。
(3)变量名的长度不能超过255个字符
(4)变量名称不能是python里的关键词
提示:Python中的关键词:
False,None,True,and,as,assert,break,class,contine,def,elif,else,except,finally,for,from,global,if,import,in,is,lambda,nonlocal,not,or,pass,raise,return,try,while,with,
yield
3.Python变量类型:字符和字符串
<1>加上引号表示字面值,字面值就是所看即所得, 'abc' 表示一个字符串它由三个字母a b c组成的字符串。不加引号 如 abc会被解析器认为是一个 名字叫 abc 的一个变量。假设 abc 里面存的是 'give me five!' , print (abc) 显示的就是give me five! ,但是 print 'abc' 显示的就是 abc
习惯于表达一个词用单引号(' '),表达一个句子用双引号(" ")
type()是查看字符类型
x=6
type(x)
输出:int(整数)
y="hello world!"
type(y)
输出:str(字符串)
z=1.6
type(z)
输出:float(浮点数)
<2>字符串的常用操作
(1)字符串的连接
'hello'+'aldrich'
输出:helloaldrich
'hello'+' aldrich'
输出:hello aldrich
(2)字符串的长度
'hello'*3
输出:hellohellohello
(3)字符串的长度:len()
len('hello')
输出:5
(4)字符串的查找
'e'in'hello world'
输出:True
(True是布尔值)
'hello world'.find('w')
输出:6
(从0开始,空格算1位)
(5)字符串的索引
x='hello world!'
x[0]
输出:h
(0的位置是h)
x='hello world!'
x[0:5]
输出:hello
(从0到5)
(6)字符串的分隔
'a,b,c'.split(',')
输出:['a', 'b', 'c']
x='a '
x.strip()
输出:'a'
(注意:并没有改变x的值,还是x='a ')
5.#注释(不运行)
Python 支持两种类型的注释,分别是单行注释和多行注释。
(1)单行注释
从井号#开始,直到这行结束为止的所有内容都是注释。Python 解释器遇到#时,会忽略它后面的整行内容。
Python 使用井号#作为单行注释的符号,语法格式为:
# 注释内容
说明多行代码的功能时一般将注释放在代码的上一行,例如:
#使用print输出字符串
print("Hello World!")
print("C语言中文网")
print("http://c.biancheng.net/python/")
#使用 print输出数字
print(100)
print( 3 + 100 * 2)
print( (3 + 100) * 2 )
说明单行代码的功能时一般将注释放在代码的右侧,例如:
print("http://c.biancheng.net/python/") #输出Python教程的地址
print( 36.7 * 14.5 ) #输出乘积
print( 100 % 7 ) #输出余数
(2)多行注释
多行注释指的是一次性注释程序中多行的内容(包含一行)。
Python 使用三个连续的单引号'''或者三个连续的双引号"""注释多行内容,具体格式如下:
'''
使用 3 个单引号分别作为注释的开头和结尾
可以一次性注释多行内容
这里面的内容全部是注释内容
'''
或者
"""
使用 3 个双引号分别作为注释的开头和结尾
可以一次性注释多行内容
这里面的内容全部是注释内容
"""
多行注释通常用来为 Python 文件、模块、类或者函数等添加版权或者功能描述信息。
注意:(1)Python 多行注释不支持嵌套,所以下面的写法是错误的:
'''
外层注释
'''
内层注释
'''
'''
(2)不管是多行注释还是单行注释,当注释符作为字符串的一部分出现时,就不能再将它们视为注释标记,而应该看做正常代码的一部分,例如:
print('''Hello,World!''')
print("""http://c.biancheng.net/cplus/""")
print("#是单行注释的开始")
运行结果:
Hello,World!
http://c.biancheng.net/cplus/
#是单行注释的开始
对于前两行代码,Python 没有将这里的三个引号看作是多行注释,而是将它们看作字符串的开始和结束标志。
对于第 3 行代码,Python 也没有将井号看作单行注释,而是将它看作字符串的一部分。
6.计算与比较
加、减、乘、除 + - * / 除数取整// 除数取余数 %
求m的n次幂 m**n (式中m和n均为数字)
等于 == 不等于!= 大于> 小于< 大于等于>= 小于等于<=
逻辑运算符 and(且 两边都要正确) or(一个对就是对) not(反面)
(数字和符号之间通常会有一个空格)
7.python之禅:import this
8.列表:存储一组有序数据元素的数据结构,元素之间用逗号分隔,列表中的数据元素应该包括在方括号中。 null list=[]
(1)列表复制
list=['a','b','c']
list*3
输出:['a','b','c','a','b','c','a','b','c']
(2)列表合并 加法和.extend()方法
加法:
l1=[2,3,4,5]
l2=['a','b','c','d']
l12=l1+l2
l12
输出:[2, 3, 4, 5, 'a', 'b', 'c', 'd']
.extend()方法:(原来的数值会发生改变)
l1=[2,3,4,5]
l2=['a','b','c','d']
l1.extend(l2)
l1
输出:[2, 3, 4, 5, 'a', 'b', 'c', 'd']
(3)列表的索引:从0开始
l1=[2,3,4,5]
l2=['a','b','c','d']
l2[3]
输出:'d'
l1=[2,3,4,5]
l2=['a','b','c','d']
l2[0:3]
输出:['a', 'b', 'c']
(4)列表的修改
del删除:
l1=[2, 3, 4, 5, 'a', 'b', 'c', 'd']
del l1[0]
l1
输出:[3, 4, 5, 'a', 'b', 'c', 'd']
.pop()
l1=[2, 3, 4, 5, 'a', 'b', 'c', 'd']
x=l1.pop()
l1
x
输出:[2, 3, 4, 5, 'a', 'b', 'c']
'd'
修改:
l1=[2, 3, 4, 5, 'a', 'b', 'c', 'd']
l1[2]=8
l1
输出:[2, 3, 8, 5, 'a', 'b', 'c']
添加.append()
l1=[2, 3, 4, 5, 'a', 'b', 'c', 'd']
l1.append(2)
l1
输出:[2, 3, 4, 5, 'a', 'b', 'c', 2]
(5)列表的排序
正序.sort()
int_first=[2,3,45,7,10]
int_first.sort()
int_first
输出:[2, 3, 7, 10, 45]
倒序.reverse()
int_first=[2,3,45,7,10]
int_first.reverse()
int_first
输出:[45, 10, 7, 3, 2]
ps:以上两个会修改int_first
sorted()不会修改
正序
int_first=[2,3,45,7,10]
x=sorted(int_first)
int_first
x
输出:[2,3,45,7,10]
[2, 3, 7, 10, 45]
倒序
int_first=[2,3,45,7,10]
x=sorted(int_first,reverse=True)
int_first
x
输出:[2,3,45,7,10]
[45, 10, 7, 3, 2]
9.元组tuple
t=() 不能改变元素 其他和list一样,列表更灵活
10.字典dict d={}
d = {key1 : value1, key2 : value2 }
d={'贵州茅台':840,'中国平安':78}
d
输出:{'贵州茅台': 840, '中国平安': 78}
d.keys()
输出:dict_keys(['贵州茅台', '中国平安'])
d.values()
输出:dict_values([840, 78])
d.items()
输出:dict_items([('贵州茅台', 840), ('中国平安', 78)])
字典可以嵌套
字典嵌套字典:{'a001':{1:2},'a002':{2:'c'}}
字典嵌套列表:{'a01':[1,2,3],'a02':[4,5,6]}
11、Python 编码空格规范
(1)概述
在python代码中,需要加空格的一共有四个地方需要特别注意。即二元运算符,逗号,冒号,#号
(2)逗号
逗号后面要加空格,但是如果后面是小括号,则不用
# 逗号
func = (0,)
x, y = y, x
print x, y
(3)冒号
冒号前不加空格,冒号后要加空格,但在切片里,前后都不用加空格
spam(ham[1], {eggs: 2})
if x == 4: print x, y; x, y = y, x
ham[1:9], ham[1:9:3], ham[:9:3], ham[1::3], ham[1:9:]
(4)#号
井号需后要加一个空格
# 注释
(5)二元运算符
二元运算符前后,都要加空格,但作为函数参数时=前后不用加空格
如果使用具有不同优先级的运算符,只在具有最低优先级的运算符周围两边添加空格,其它的就不用加了。
i = i + 1
sum += 1
x = x*2 - 1
max = x*x + y*y
c = (a+b) * (a-b)
(6)其他
除了以上四种情况外,其他地方,请谨慎使用空格。
二、语句
1、条件语句
if condition:
do something(四个空格缩进或者tap键)
elif condition:
do something
elif condition:
do something
else:
do another thing
x=10
if x>50:
print("这个数很大")
else:
print("这个数太小了")
输出:这个数太小了
x=input("Please enter your age")
x=float(x)
if x<15:
print("你是一个孩子")
elif x<25:
print("你是一个青年")
elif x<55:
print("你是一个中年人")
else:
print("你是一个老年人")
输出:Please enter your age22
你是一个青年
2.循环语句
(1)for语句:有限的循环
for i in list:
do something
num_list = []
total = 0
for i in range(10):
x = input("Please enter your age")
x = float(x)
num_list.append(x)
total = total + x
mean=total/10
print("元素之和为{}".format(total))
print("元素平均数为{}".format(mean))
输出:
Please enter your age10
Please enter your age12
Please enter your age13
Please enter your age14
Please enter your age15
Please enter your age16
Please enter your age47
Please enter your age18
Please enter your age19
Please enter your age11
元素之和为175.0
元素平均数为17.5
a={'贵州茅台':840,'中国平安':78,'中国证券':26}
for k,v in a.items():
print(k,v)
输出:
贵州茅台 840
中国平安 78
中国证券 26
(2)while语句:无限的循环(也可以有限)
while True:
do
num_list = []
total = 0
while True:
num=input("Please enter a number:")
if num=='done':
break
num=float(num)
num_list.append(num)
total=total+num
print(total)
print(total/len(num_list))
输出:
Please enter a number:12
Please enter a number:15
Please enter a number:13
Please enter a number:14
Please enter a number:done
54.0
13.5
三、函数的声明和调用
1.函数定义语句
def 函数名(参数):
语句块
def aldrich(x):
print("hello",x)
#print()函数也可以接受多个字符串,用“,”隔开,就可以连成一串输出
aldrich('lei feng')
输出:hello lei feng
2.返回简单值
返回字典
def aldrich(x):
return 1999
g=aldrich('leifeng')
g
输出:1999
当函数执行完的时候,并不是所有时候都要把结果打印,我们期望函数给我一些反馈(比如计算的结果返回进行后续的运算),这个时候可以让函数返回一些东西,也就是返回值。函数通过return返回一个返回值。
3.结合循环函数
4.个性化的函数封装成模块(导入模块)
导入pandas模块:import pandas
导入as给模块指定别名:import pandas as pd
导入模块中所有函数:from pandas import *
ps:新建一个python,然后file-download as -python
然后把生成的.py
四、练习
设计一个简单的猜数字游戏,给出提示该数字为0-20之间的某个整数,然后用户输入某个整数,系统会回复猜得结果相较于该数字是高了或者低了,如果猜中则会返回特定内容。总共有6次猜测的机会。
#首次设计用户输入方式
import random
x=random.randint(0,20)
n=0
while n<6:
num=input("Enter a number,please:")
num=int(num)
n=n+1
if num==x:
print("真棒,你6次之内就猜中了这个数字")
elif n==6:
print("傻瓜,就知道你猜不中")
elif num>x:
print("你猜的太大了,往小点猜吧")
elif num<x:
print("你猜的太小了,往大点猜吧")
输出:
Enter a number,please:2
你猜的太小了,往大点猜吧
Enter a number,please:6
你猜的太小了,往大点猜吧
Enter a number,please:9
你猜的太小了,往大点猜吧
Enter a number,please:15
你猜的太小了,往大点猜吧
Enter a number,please:19
你猜的太大了,往小点猜吧
Enter a number,please:18
傻瓜,就知道你猜不中
ps:randint 函数
randint 函数是Python中的内置函数,可以生成指定范围内的随机整数。
使用方法如下:random. randint (a. b)
其中,a和b是两个整数,表示生成的随机数的范围。
函数会生成一个大于等于a且小于等于b的随机整数。
例如,下面的代码会生成二公口到9之间的随机整数:
import random
x= random. randint (0, 9)
print (x)
输出结果可能是0.1.2.3.4.5.6.7.8或9中的任意一个。
注意,randint 函数是python的random 模块的一部分,使用之前需要先导入该模块。
randint 函数是生成随机数的常用方法,可以用来模拟各种随机事件。例如,可以用randint 函数来生成游戏中的随机事件,或者用来生成随机密码等。
网友评论