python语法结构(一)

python完全靠缩进表达代码逻辑

顶层代码必须顶头写,不能有任何空格

某个代码的子代码,必须有缩进,缩进多少都可以,最好是4个空格

#!/root/nsd1905/bin/python
 print('hello word')

#执行后提示缩进错误
   print('helllo word')
    ^
IndentationError: unexpected indent

Process finished with exit code 1

缩进相同的一组预计构成一个代码块,关键字开始,以:结束

if 3 > 0:
    print('yes')
    print('ok')

ctrl+?快速注释多行

print语句

print('hello'+'word')   #字符串拼接
print('sdf',123,sep='++++')  #输出各项之间,使用指定分隔符连接

input语句

uname = input('username:') #输入内容赋值给变量再输出,输入的数据都是字符类型的
print(uname)
----------------------------------------
>>> a = imput('number:')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'imput' is not defined
>>> a = input('number:')
number:10
>>> a+5
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: must be str, not int
>>> a+str(5)    #str将数据转成字符
'105'
>>> int(a)+5    #int用于将数据转成整数
15

 变量

命名规则:

        首字母必须是字母,下划线

        其他字符,可以是字母/数字/下划线

        区分大小写,类名采用驼峰形式

运算符

数学运算符

>>> a=10
>>> a
10
>>> a=a+1
>>> a
11
>>> a += 1
>>> a
12
>>> a -= a
>>> a
0
>>> a *= 2
>>> a
0
>>> 10 // 2    #只保留商
5
>>> 5 % 3      #求模,返回余数
2
>>> divmod(5,3)  #同时得到商和余数
(1, 2)
>>> 2 ** 3   #幂运算
8

逻辑运算符,比较运算符

>>> 10 < 15 and 20 >10  #and两边的结果全为真,最终才为真
True
>>> 10 > 15 and 20 >10
False
>>> not 20 > 10          #not取反
False
>>> 10 > 15 or 20 >10    #or两边的结果全为假,最终才为假
True
>>> 10 > 15 or 20 <10
False

判断语句

import getpass #导入getpass模块

usname = input('usname:')
pwd = getpass.getpass('password:') #调用getpass函数

if usname == 'aa' and pwd == '123456':
    print('登录成功')
else:
    print('登录失败')

多分支

fenshu = int(input('请输入你的分数:'))

if 60 <= fenshu <70:
    print('及格')
elif 70 <= fenshu <80:
    print('良')
elif 80 <= fenshu <90:
    print('好')
elif fenshu >= 90:
    print('优')
else:
    print('你要努力啦!!')

循环

当循环次数不确定时,使用while

当循环次数可预知,使用for

while循环

import random

num = random.randint(1,100)

while 1 :
    answer = int(input('guess:'))
    if answer > num:
        print('猜大了')
    elif answer < num :
        print('猜小啦')
    else:
        print('猜对啦')
        break                 #用于中断循环,后面代码不再执行
print(num)   

 continue

#1-100的偶数和
result = 0
connet = 0

while connet< 100:
    connet += 1
    if connet % 2:   #connet % 2的结果只有1或0,1为真,0为假,为真时执行continue跳出循环
        continue
    else:
        result += connet

print(result)

 

Random

 #随机生一个整数int类型,可以指定这个整数的范围,同样有上限和下限值
random.randint()

num = random.randint(1,100)

#可以从任何序列,比如list列表中,选取一个随机的元素返回,可以用于字符串、列表、元组等
random.choice()

foo = ['a', 'b', 'c', 'd', 'e']
print random.choice(foo)

#其它模块
random.random() #产生0-1的随机浮点数
random.uniform(a, b) #产生指定范围内的随机浮点数
random.randrange([start], stop[, step]) #从一个指定步长的集合中产生随机数
random.shuffle(x[, random]) #将一个列表中的元素打乱

for循环

#列表实现斐波那锲数列
fib = [0,1]

n = int(input('长度:'))

for i in range(n -2):
    fib.append(fib[-1]+fib[-2])   ##append()追加,插入   fib[-1]表示倒数第一,以此类推
print(fib)

内嵌for循环

#九九乘法表
for i in range(1,10):
    for j in range(1,i + 1):
        print('%s*%s=%s'%(j,i,i*j),end = ' ')
    print()

位置参数

import sys
		print(sys.argv)
		(nsd1905) [root@localhost day03]# python weizhi.py 
		['weizhi.py']
		(nsd1905) [root@localhost day03]# python weizhi.py hao 123
		['weizhi.py', 'hao', '123']

模块及导入模块

# vim star.py   ##编写帮助信息
		'''
			p is star   ##描述内容
		this a moudle
		'''

		hi = 'hello word'     #全局变量

		def pstar(n=30):    #函数
			'sdf af'
			print('*' * n)
		
		>>> import star    #导入模块
		>>> star.hi    		#调用star里的变量
		'hello word'
		>>> star.pstar()		#调用star里的函数
		******************************
		>>> help(star)				## 查看模块的帮助信息

		Help on module star:

			NAME
				star

			DESCRIPTION
				p is star
				this a moudle

			FUNCTIONS
				pstar(n=30)
					sdf af

			DATA
				hi = 'hello word'

			FILE

 模块的导入和加载
            import是导入模块
            第一次导入模块时,模块中的代码会执行一遍,这个叫加载,即load
            无论导入多少次,只会加载一次
        模块导入的特性
            每个模块都有一个名为__name__的变量     ##双下划线__name__
            __name__它的值,可能是__main__,也可能是模块名
                当程序文件作为脚本,直接运行时,值为__main__
                当程序文件作为模块,被导入时,值为模块名

[root@localhost day03]# cat bar.py 
import ff
[root@localhost day03]# cat ff.py 
print(__name__)
				
[root@localhost day03]# python bar.py 
ff
[root@localhost day03]# python ff.py 
__main__

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值